import mongoose from 'mongoose';
const userSchema = new mongoose.Schema(
  {
    // 用户名字段，类型为字符串，不能为空
    name: { type: String, required: true },
    // 用户邮箱字段，类型为字符串，不能为空，且必须唯一
    email: { type: String, required: true, unique: true },
    // 用户密码字段，类型为字符串，不能为空
    password: { type: String, required: true },
    // 用户是否为管理员字段，类型为布尔值，不能为空，默认值为false
    isAdmin: { type: Boolean, required: true, default: false },
    // 用户购物车数据字段，类型为对象，默认值为空对象
    cartData: { type: Object, default: {} },
    // 重置密码令牌字段，类型为字符串，用于存储重置密码的令牌
    resetPasswordToken: String,
    // 重置密码令牌过期时间字段，类型为日期，用于存储重置密码令牌的过期时间
    resetPasswordExpires: Date,
  },
  // 禁用schema的minimize功能，以保持数据的灵活性
  { minimize: false }
);

// 根据用户数据模型架构创建用户数据模型
const User = mongoose.model('User', userSchema);

export default User;
